/*
 * ChatClient.h
 *
 *  Created on: Dec 4, 2013
 *      Author: gonprieto
 */

#ifndef CHATCLIENT_H_
#define CHATCLIENT_H_

#include "Process.h"
#include "../message_queue/QueueProtocoloPlano.h"

class ChatClient : public Process{

protected:
	typedef struct Configuracion{
		std::string nombreUsuario;
		bool listarChats;
		std::string conectarse;
		std::string crear;

		Configuracion() :
			nombreUsuario("UserDefault"),
			listarChats(false),
			conectarse(""),
			crear(""){}
		;
	};


public:
	ChatClient();
	virtual ~ChatClient();

	void showHelp();

	virtual int runProcess(int argc, char **argv);

protected:
	Configuracion parseParams(int argc, char **argv);

	int runClient(std::string idUser);

	bool solveClientDestination(Configuracion configuracion);

	pid_t pidCliente;

};

#endif /* CHATCLIENT_H_ */
